Last Updated on June 9, 2023 by
Dalam dunia desain web, Scalable Vector Graphics (SVG) telah menjadi bagian penting dalam menciptakan konten visual yang responsif dan berkualitas tinggi. HTML5 SVG memungkinkan pengembang dan desainer web untuk menciptakan grafik yang dapat diperbesar dan diperkecil tanpa kehilangan kualitas.
Artikel seri belajar HTML/CSS kali ini akan menjelaskan apa itu HTML5 SVG beserta keuntungannya, perbedaannya dengan HTML Canvas, serta memberikan berbagai contoh penggunaan SVG dalam kode HTML. Yuk ikuti terus ulasan lengkapnya dibawah ini!
Table of Contents
Apa itu HTML5 SVG?
HTML5 SVG (Scalable Vector Graphics) adalah sebuah format file grafis berbasis vektor yang dapat digunakan dalam dokumen HTML. SVG memungkinkan pengguna untuk membuat grafik dan ilustrasi berbasis vektor yang dapat diubah ukurannya secara bebas tanpa mengorbankan kualitas dari gambar.
SVG menggunakan markup language (bahasa markup) yang mirip dengan HTML untuk mendefinisikan grafik dan elemen-elemen yang terkandung di dalamnya. Markup tersebut dapat mencakup garis, kurva, bentuk geometris, teks, warna, dan banyak lagi. SVG juga mendukung animasi, sehingga pengguna dapat membuat gambar yang dinamis dan menarik.
Keuntungan menggunakan SVG
- Resolusi bebas: Gambar SVG dapat diubah ukurannya sesuai kebutuhan tanpa kehilangan kualitas gambar yang membuatnya cocok untuk penggunaan di berbagai perangkat dengan resolusi yang berbeda.
- Scalable: Gambar SVG dapat diperbesar atau diperkecil tanpa distorsi, karena menggunakan representasi vektor matematis. Ini membedakannya dengan gambar raster seperti JPEG atau PNG yang bisa terlihat pecah jika diperbesar secara signifikan.
- Terintegrasi dengan HTML: SVG dapat disematkan langsung ke dalam elemen HTML menggunakan tag <svg> yang memungkinkan pengguna untuk menggabungkan grafik vektor dengan konten HTML lainnya untuk memudahkan dalam pengaturan dan styling.
- Dapat diakses oleh mesin pencari: Karena SVG berbasis teks, mesin pencari dapat membaca dan menganalisis konten SVG sehingga gambar yang dihasilkan dalam format SVG dapat lebih mudah ditemukan oleh mesin pencari.
- Dukungan animasi dan interaktivitas: SVG mendukung animasi dan interaktivitas dengan menggunakan CSS atau JavaScript. Pengguna dapat membuat efek transisi, perubahan warna, atau animasi gerakan dengan mudah pada elemen SVG.
Perbedaan antara HTML5 SVG dan HTML5 Canvas
HTML5 SVG (Scalable Vector Graphics) dan HTML5 Canvas adalah dua elemen dalam HTML5 yang digunakan untuk membuat grafis dan animasi di web yang memiliki perbedaan antara keduanya. Berikut adalah perbedaan antara HTML SVG dan HTML Canvas.
1. Representasi Grafis
SVG menggunakan grafis berbasis vektor untuk menggambar gambar. Grafis SVG terdiri dari elemen-elemen yang didefinisikan dalam markup XML yang tetap terpisah dan dapat dimanipulasi secara individual. Gambar SVG bersifat resolusi bebas dan dapat diperbesar atau diperkecil tanpa kehilangan kualitas.
Sementara, Canvas menggunakan representasi bitmap untuk menggambar gambar. Gambar yang digambar di dalam elemen canvas adalah kumpulan piksel. Pengembang harus menggambar ulang seluruh elemen canvas ketika diubah atau diperbarui. Gambar di canvas tidak bersifat resolusi bebas dan akan mengalami distorsi jika diperbesar.
2. Interaktivitas
SVG memiliki dukungan bawaan untuk interaktivitas. Setiap elemen dalam SVG dapat ditetapkan dengan event listener dan dapat merespons terhadap interaksi pengguna. Pengembang dapat menambahkan interaktivitas seperti klik, hover, dan animasi ke elemen SVG.
Di sisi lain, Canvas tidak memiliki dukungan bawaan untuk interaktivitas. Gambar di canvas adalah sekadar representasi grafis yang diperbarui melalui kode JavaScript. Pengembang harus mengatur event listener dan mengelola interaksi pengguna secara manual melalui JavaScript.
3. Kompleksitas Gambar
SVG lebih cocok untuk gambar yang memiliki struktur yang kompleks dan elemen yang berbeda seperti garis, kurva, bentuk geometris, teks, dan lainnya. Pengembang dapat memanipulasi dan menggabungkan elemen-elemen ini dengan mudah dalam SVG.
Sementara itu, Canvas lebih cocok untuk gambar yang sederhana dan memiliki manipulasi piksel yang lebih langsung. Pengembang dapat menggambar dengan bebas pada canvas dan mengatur piksel secara individu untuk mencapai efek yang diinginkan.
4. Kompatibilitas
SVG didukung secara luas di sebagian besar browser modern. Namun, beberapa fitur SVG mungkin tidak didukung sepenuhnya di semua versi browser. Sedangkan Canvas didukung di sebagian besar browser modern dan versi yang lebih lama.
Contoh Penggunaan HTML5 SVG
HTML5 SVG dapat digunakan untuk membuat berbagai jenis elemen grafis untuk pengembangan web. Berikut ini beberapa contoh penggunaan SVG dalam kode HTML yang dapat dicoba.
Contoh 1: Membuat garis SVG dalam HTML
<!DOCTYPE html> <html> <body> <svg height="250" width="600"> <line x1="10" y1="10" x2="400" y2="400" style="stroke:rgb(0,0,255);stroke-width:3" /> </svg> </body> </html>
Contoh 2: Menggambar Lingkaran SVG dalam HTML
<!DOCTYPE html> <html> <body> <svg width="200" height="200"> <circle cx="80" cy="80" r="50" stroke="black" stroke-width="2" fill="grey" /> </svg> </body> </html>
Contoh 3: Menggambar Persegi Panjang SVG dalam HTML
<DOCTYPE html> <html> <body> <svg width="400" height="100"> <rect width="400" height="100" style="fill: rgb(0, 0, 255); stroke-width: 10; stroke: rgb(0, 0, 0)" /> </svg> </body> </html>
Contoh 4: Menggambar Persegi Panjang dengan Sudut Bundar SVG dalam HTML
<!DOCTYPE html> <html> <body> <svg width="400" height="380"> <rect x="80" y="20" rx="20" ry="20" width="150" height="150" style="fill: orange; stroke: black; stroke-width: 2; opacity: 0.5" /> </svg> </body> </html>
Contoh 5: Menggambar Bintang SVG dalam HTML
<!DOCTYPE html> <html> <body> <svg width="300" height="200"> <polygon points="100,10 40,198 190,78 10,78 160,198" style="fill: grey; stroke: orange; stroke-width: 5; fill-rule: evenodd" /> </svg> </body> </html>
Contoh 6: Menggambar Logo dalam HTML menggunakan SVG
<!DOCTYPE html> <html> <body> <svg height="300" width="700"> <defs> <linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%"> <stop offset="0%" style="stop-color: white; stop-opacity: 1" /> <stop offset="100%" style="stop-color: green; stop-opacity: 1" /> </linearGradient> </defs> <ellipse cx="200" cy="100" rx="120" ry="80" fill="url(#grad1)" /> <text fill="#ffffff" font-size="22" font-family="ARIAL" x="155" y="110"> Codekey </text> </svg> </body> </html>
Contoh 7: Menggambar Poligon SVG dalam HTML
<!DOCTYPE html> <html> <body> <svg width="300" height="200"> <polygon points="50,50 200,50 250,100 200,150 50,150" style="fill: green; stroke: black; stroke-width: 3; fill-rule: evenodd" /> </svg> </body> </html>
Contoh 8: Membuat Klip Path dengan SVG
<!DOCTYPE html> <html> <body> <svg width="600" height="300"> <defs> <clipPath id="myClip"> <circle cx="150" cy="100" r="100" /> </clipPath> </defs> <image href="https://example.com/your-image.jpg" width="600" height="300" clip-path="url(#myClip)" /> </svg> </body> </html>
Contoh 9: Menggabungkan SVG dengan CSS Transitions
<!DOCTYPE html> <html> <head> <style> circle { transition: 0.5s; } circle:hover { fill: blue; } </style> </head> <body> <svg width="200" height="200"> <circle cx="100" cy="100" r="50" stroke="black" stroke-width="2" fill="red" /> </svg> </body> </html>
Contoh 10: Membuat Grafik Batang dengan SVG
<!DOCTYPE html> <html> <body> <svg width="400" height="300"> <rect x="50" y="50" width="50" height="100" fill="red" /> <rect x="150" y="80" width="50" height="70" fill="green" /> <rect x="250" y="40" width="50" height="110" fill="blue" /> </svg> </body> </html>
Kesimpulan
Setelah membahas berbagai aspek, dapat disimpulkan bahwa HTML5 SVG merupakan alat yang sangat berguna dalam menciptakan grafik yang responsif, interaktif, dan berkualitas tinggi untuk web. HTML SVG sangat pas untuk menambah elemen grafis dalam web yang sedang dibangun. Semoga Ulasan kali ini dapat menambah wawasan Anda mengenai HTML SVG!
Temukan banyak artikel seri belajar HTML/CSS dan juga bahasa pemrograman lainnya hanya di CODEKEY. Klik https://codekey.id/ sekarang juga untuk langsung belajar gratis dan tak ketinggalan tutorial pemrograman menarik lainnya. Sampai bertemu lagi!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.