AHMAD ISMAIL, S.KOM September 08, 2026

Jenis-Jenis URL di HTML: Absolute URL, Relative URL, dan Anchor Link Internal

Setelah mampu membuat hyperlink dasar dengan elemen <a>, tantangan berikutnya bukan lagi mengingat sintaks, tetapi menentukan nilai <code>href</code> yang tepat. Kesalahan pada tahap ini sering baru terlihat ketika proyek dipindahkan dari komputer lokal ke server: tautan yang semula berfungsi berubah menjadi 404, gambar atau halaman tidak ditemukan, atau tautan navigasi justru membuka lokasi yang tidak dimaksud. Penyebabnya biasanya adalah pencampuran tiga konsep berbeda, yaitu absolute URL, relative URL, dan fragment atau anchor internal. Absolute URL menyebut lokasi dengan skema dan host secara eksplisit, misalnya <code>https://example.com/docs/html.html</code>. Relative URL menyatakan referensi terhadap URL dasar dokumen, misalnya <code>artikel/html.html</code> atau <code>../index.html</code>. Sementara itu, referensi seperti <code>#faq</code> menunjuk elemen dalam dokumen berdasarkan fragment identifier. Perbedaan tersebut penting karena browser tidak sekadar membaca nilai <code>href</code> sebagai nama file. Browser menyelesaikan referensi URL terhadap base URL aktif berdasarkan aturan URL, kemudian menggunakan hasilnya untuk menentukan resource dan, jika ada fragment, bagian resource yang dituju. Pemula juga sering menyebut semua URL yang diawali garis miring sebagai “absolute URL”, padahal <code>/produk/detail.html</code> merupakan referensi root-relative yang masih mengambil scheme dan host dari base URL. Memahami model resolusi ini membuat navigasi lebih mudah dirancang, diuji, dipindahkan, dan diperbaiki.


Artikel ini membangun cara kerja yang dapat dipakai untuk memilih URL berdasarkan tujuan navigasi, bukan berdasarkan kebiasaan menyalin alamat dari browser. Anda akan mempelajari kapan absolute URL tepat digunakan untuk resource dengan origin atau alamat eksplisit, kapan relative URL lebih nyaman untuk struktur situs yang saling berkaitan, bagaimana <code>./</code>, <code>../</code>, dan <code>/</code> memengaruhi resolusi, serta bagaimana fragment <code>#id</code> membuat navigasi di dalam halaman. Fokusnya bukan hanya membuat tautan dapat diklik, tetapi memastikan URL hasil resolusi memang menunjuk target yang dikehendaki. Contoh akan menggunakan struktur proyek sederhana sehingga hasilnya dapat diperiksa melalui address bar, DevTools, atau server lokal. Setelah memahami prinsip ini, Anda dapat menilai sebuah <code>href</code> dengan tiga pertanyaan: apa base URL dokumen saat ini, bagaimana referensi tersebut diselesaikan terhadap base URL, dan apakah target akhirnya benar-benar tersedia. Kerangka tersebut juga membantu membedakan kesalahan sintaks dari kesalahan struktur direktori dan kesalahan deployment.


Landasan Sains dan Prinsip Kerja Metode

URL adalah mekanisme pengalamatan resource, sedangkan referensi URL dalam HTML dapat berbentuk penuh ataupun relatif. Ketika browser menjumpai <code><a href="..."></code>, nilai <code>href</code> diproses sebagai referensi terhadap base URL dokumen. Secara umum, URL seperti <code>https://example.com/docs/page.html</code> memiliki scheme <code>https</code>, host <code>example.com</code>, path <code>/docs/page.html</code>, dan dapat pula memiliki query serta fragment. Referensi <code>next.html</code> tidak membawa scheme atau host sendiri; browser menggabungkannya dengan base URL sesuai aturan resolusi URL. Jika dokumen berada di <code>https://example.com/docs/current.html</code>, referensi tersebut menghasilkan <code>https://example.com/docs/next.html</code>. Karena itu relative URL bergantung pada konteks. Base URL normalnya berasal dari URL dokumen, walaupun elemen <code>base</code> dapat mengubah base URL yang dipakai untuk menyelesaikan URL relatif. Pemahaman ini lebih akurat daripada menganggap relative URL hanya sebagai “alamat pendek”.


Path memiliki semantik hierarkis yang menentukan hasil resolusi. Referensi <code>./file.html</code> menunjuk path dari direktori saat ini, sedangkan <code>../file.html</code> bergerak satu level ke direktori induk dalam proses resolusi. Referensi yang dimulai dengan <code>/</code>, seperti <code>/contact.html</code>, dimulai dari root path pada origin yang sama dengan base URL. Karena itulah root-relative URL berguna pada situs yang memiliki struktur URL stabil di root, tetapi dapat bermasalah jika aplikasi dideploy di subpath dan konfigurasi server tidak memetakannya seperti yang diasumsikan. Absolute URL membawa scheme, host, dan path sehingga tidak bergantung pada direktori halaman yang berisi link, tetapi alamat tersebut tetap harus valid dan targetnya tetap dapat berubah atau hilang. Pemilihan format URL karenanya merupakan keputusan tentang konteks dan deployment, bukan tentang format mana yang selalu lebih unggul.


Fragment identifier bekerja pada bagian fragment URL, yaitu teks setelah karakter <code>#</code>. Contoh <code>href="#instalasi"</code> mereferensikan URL dokumen dengan fragment <code>instalasi</code>. Untuk navigasi HTML biasa, browser dapat mencari elemen target yang memiliki <code>id="instalasi"</code> dan menggulir tampilan menuju elemen tersebut. Nilai <code>id</code> seharusnya unik dalam dokumen agar identifikasi target tidak ambigu. Fragment juga dapat digabung dengan path atau URL penuh, misalnya <code>help.html#faq</code> atau <code>https://example.com/help.html#faq</code>. Fragment bukan nama file atau direktori dan secara normal tidak dikirim sebagai bagian request HTTP ke server; fragment terutama diproses di sisi klien setelah resource yang relevan diperoleh. Prinsip ini menjelaskan mengapa anchor internal dapat mengubah posisi halaman tanpa meminta dokumen baru ketika resource dasarnya tetap sama.


Formula, Komposisi Bahan, atau Spesifikasi Parameter

Gunakan spesifikasi berikut sebagai peta keputusan saat menulis nilai <code>href</code>. Periksa selalu lokasi halaman sumber, lokasi target, base URL yang aktif, serta lingkungan deployment sebelum memilih bentuk URL.


KomponenSpesifikasi/RasioFungsi Teknis
Absolute URLhttps://example.com/docs.htmlMenentukan scheme, host, dan path secara eksplisit
Relative pathdocs/page.htmlMereferensikan target relatif terhadap base URL
Direktori saat ini./page.htmlMenyatakan path relatif dari direktori saat ini
Direktori induk../page.htmlMenyelesaikan path melalui satu tingkat induk
Root-relative/page.htmlMemulai path dari root pada origin base URL
Fragment lokal#faqMenargetkan bagian tertentu pada dokumen
Path plus fragmenthelp.html#faqMembuka resource lalu menargetkan fragment
Querysearch.html?q=htmlMenyertakan komponen query pada URL
ID targetid="faq"Memberikan pengenal elemen untuk navigasi fragment
Base URLURL dokumen atau URL dari elemen baseMenjadi acuan resolusi referensi relatif
Jangan menentukan relative URL hanya dari struktur folder yang terlihat di editor. Yang menentukan resolusi browser adalah base URL. Server, routing framework, deployment pada subpath, dan elemen <code>base</code> dapat membuat URL publik berbeda dari struktur file lokal.

Panduan Langkah Kerja Bertahap

Langkah 1

Petakan URL Sumber dan Target

Sebelum menulis link, tentukan URL halaman sumber dan target. Misalkan sumber adalah <code>https://example.com/tutorial/index.html</code> dan target adalah <code>https://example.com/tutorial/css.html</code>. Karena keduanya berada pada direktori URL yang sama, referensi <code>css.html</code> dapat digunakan. Bentuk lengkapnya dapat ditulis sebagai <code>&lt;a href="css.html"&gt;CSS&lt;/a&gt;</code>. Jalankan proyek melalui server lokal, buka halaman sumber, klik link, lalu periksa address bar. Hasil yang diharapkan adalah URL target yang tepat. Pengujian melalui server HTTP lebih representatif daripada hanya membuka file dengan skema <code>file:</code>, terutama jika situs akhirnya akan disajikan melalui HTTP atau HTTPS.

Langkah 2

Gunakan Absolute URL untuk Alamat Eksplisit

Jika link harus menyebut alamat lengkap, tulis absolute URL dengan scheme yang sesuai, misalnya <code>&lt;a href="https://developer.mozilla.org/"&gt;MDN&lt;/a&gt;</code>. Bentuk ini tidak bergantung pada direktori URL halaman sumber karena host dan scheme sudah ditentukan. Absolute URL lazim untuk sumber eksternal dan juga dapat digunakan untuk target internal ketika alamat kanonis eksplisit memang diperlukan. Pastikan menggunakan HTTPS ketika layanan tujuan tersedia dan ditujukan untuk HTTPS. Verifikasi dengan mengarahkan pointer ke link untuk melihat tujuan yang ditampilkan browser, kemudian buka link dan cocokkan scheme, host, serta path. Ingat bahwa “absolute” hanya menjelaskan bentuk alamat; hal tersebut tidak menjamin resource tersedia, aman, permanen, atau bebas redirect.

Langkah 3

Gunakan Relative URL Berdasarkan Hierarki Path

Untuk halaman yang berkaitan dalam struktur URL yang sama, hitung path dari konteks base URL. Jika halaman berada di <code>/produk/detail/index.html</code> dan target ada di <code>/produk/daftar.html</code>, referensi <code>../daftar.html</code> dapat menyelesaikan target tersebut. Sintaks linknya adalah <code>&lt;a href="../daftar.html"&gt;Daftar Produk&lt;/a&gt;</code>. Jangan menambah <code>../</code> dengan metode coba-coba; tuliskan URL sumber dan target lalu hitung hierarkinya. Setelah menyimpan, klik link dan pastikan address bar berakhir pada <code>/produk/daftar.html</code>. Bila server mengembalikan 404, periksa hasil URL yang benar-benar dibentuk browser sebelum mengubah HTML.

Langkah 4

Pahami Root-Relative URL

Jika target harus dimulai dari root origin, gunakan referensi seperti <code>&lt;a href="/kontak.html"&gt;Kontak&lt;/a&gt;</code>. Pada halaman dengan base URL <code>https://example.com/blog/post.html</code>, nilai <code>/kontak.html</code> menghasilkan <code>https://example.com/kontak.html</code>, bukan <code>https://example.com/blog/kontak.html</code>. Cara ini menghindari perhitungan banyak <code>../</code>, tetapi mengasumsikan target memang tersedia pada root path tersebut. Jika aplikasi dipublikasikan di <code>https://example.com/aplikasi/</code>, link <code>/kontak.html</code> tetap menuju root host, bukan otomatis ke <code>/aplikasi/kontak.html</code>. Uji pada URL deployment yang sebenarnya agar asumsi path tidak tersembunyi.

Langkah 5

Buat Anchor Link Internal yang Valid

Tentukan elemen tujuan dengan ID unik dan referensikan ID tersebut sebagai fragment. Contohnya dapat direpresentasikan sebagai <code>&lt;a href="#faq"&gt;Ke FAQ&lt;/a&gt; ... &lt;h2 id="faq"&gt;FAQ&lt;/h2&gt;</code>. Ketika link dipilih, URL biasanya memperoleh fragment <code>#faq</code> dan browser membawa target ke area tampilan. Nama fragment pada <code>href</code> harus sesuai dengan ID target, termasuk karakter yang digunakan. Gunakan ID yang unik dan stabil sehingga link dapat dibagikan. Verifikasi dengan memuat halaman, memilih link, mengamati fragment pada address bar, dan memastikan elemen yang benar menjadi tujuan. Fragment juga dapat diuji langsung dengan membuka URL halaman yang sudah diakhiri <code>#faq</code>.

Langkah 6

Uji Semua Link pada Lingkungan HTTP

Lakukan pengujian akhir melalui server lokal atau staging yang menyerupai lokasi deployment. Periksa absolute URL, relative URL, root-relative URL, dan fragment satu per satu. Gunakan contoh kombinasi seperti <code>&lt;a href="panduan.html#instalasi"&gt;Instalasi&lt;/a&gt;</code> untuk memastikan browser menyelesaikan path sekaligus fragment. Klik setiap link dan catat URL akhir pada address bar. Gunakan panel Network pada DevTools untuk memeriksa status HTTP resource yang membutuhkan request; respons 404 menunjukkan target server tidak ditemukan, sedangkan fragment lokal pada dokumen yang sama umumnya tidak memerlukan request dokumen baru. Untuk fragment, pastikan ID target tersedia. Ulangi pengujian setelah memindahkan proyek ke staging karena base path dan routing dapat berbeda dari komputer pengembangan.

Verifikasi Akhir dan Parameter Kelayakan

Implementasi dinilai layak bila setiap link menghasilkan URL akhir yang dimaksud, resource dapat diakses pada lingkungan deployment, dan semua fragment memiliki target yang tepat. Tabel ini dapat digunakan sebagai checklist sebelum halaman dipublikasikan.

ParameterSebelum Menerapkan MetodeSesudah Menerapkan Metode (Target)
Pemilihan jenis URLBerdasarkan coba-cobaBerdasarkan base URL dan tujuan navigasi
Relative URLPath belum diverifikasiResolusi menghasilkan URL target yang benar
Absolute URLHost atau scheme berpotensi salahScheme, host, dan path telah diperiksa
FragmentID hilang atau tidak sesuaiFragment menunjuk ID target yang benar dan unik
DeploymentHanya diuji secara lokalDiuji pada server atau staging dengan base path relevan

Solusi Masalah di Lapangan (FAQ Teknis)

1. Mengapa relative URL bekerja di satu halaman tetapi gagal di halaman lain?
Karena referensi relatif diselesaikan terhadap base URL masing-masing dokumen. <code>artikel.html</code> pada <code>/docs/index.html</code> dapat menghasilkan <code>/docs/artikel.html</code>, sedangkan referensi yang sama dari <code>/docs/tutorial/index.html</code> dapat menghasilkan <code>/docs/tutorial/artikel.html</code>. Periksa URL sumber yang sebenarnya dan keberadaan elemen <code>base</code> sebelum mengubah path.

2. Apakah URL yang diawali / merupakan absolute URL?
<code>/produk.html</code> adalah referensi yang path-nya dimulai dari root, tetapi tidak membawa scheme dan host sendiri. Browser mengambil komponen yang diperlukan dari base URL. Sebaliknya, <code>https://example.com/produk.html</code> merupakan absolute URL yang menyatakan scheme dan host secara eksplisit.

3. Mengapa href="#bagian" tidak berpindah ke target?
Periksa bahwa dokumen memiliki elemen dengan <code>id="bagian"</code>, bahwa penulisannya sesuai dengan fragment yang dituju, dan bahwa ID tersebut unik. Jika URL berubah tetapi posisi tampilan tampak tidak berubah, target mungkin sudah berada di area viewport atau tata letak halaman tidak menyediakan ruang gulir yang cukup untuk menempatkannya seperti yang dibayangkan.

4. Apakah sebaiknya semua link menggunakan absolute URL?
Tidak ada aturan bahwa semua link harus absolute. Absolute URL tepat ketika alamat lengkap memang diperlukan, sedangkan referensi relatif sering praktis untuk resource yang hubungannya dengan base URL memang ingin dipertahankan. Root-relative URL juga berguna dalam konfigurasi tertentu. Pilihan terbaik ditentukan oleh struktur URL publik, deployment, routing, dan kebutuhan portabilitas proyek.


Kesimpulan dan Rencana Aksi

Absolute URL, relative URL, dan anchor internal adalah tiga pola pengalamatan yang menyelesaikan kebutuhan navigasi berbeda. Absolute URL menyatakan alamat lengkap; relative URL memperoleh sebagian konteks dari base URL; root-relative reference memulai path dari root origin; dan fragment menunjuk bagian tertentu dari resource, biasanya melalui ID elemen pada HTML. Praktik yang dapat langsung Anda lakukan hari ini adalah membuat proyek kecil dengan dua direktori dan beberapa halaman, lalu menulis satu absolute URL, satu link relatif pada direktori yang sama, satu link dengan <code>../</code>, satu root-relative link, dan satu fragment <code>#id</code>. Jalankan melalui server lokal, klik setiap tautan, dan bandingkan URL akhir dengan target yang Anda rencanakan. Setelah itu uji pada staging atau base path deployment yang sebenarnya. Bila proses ini menjadi kebiasaan, debugging link berubah dari aktivitas coba-coba menjadi pemeriksaan sistematis terhadap base URL, hasil resolusi, target server, dan fragment. Hasil akhirnya adalah struktur navigasi HTML yang lebih mudah diprediksi, dipindahkan, diuji, dan dipelihara.


Ditulis dan diedit oleh Ahmad Ismail Al Malik

AD
Ahmad Ismail, S.Kom
Founder - ALMalik Developer
Berikan Komentar!