Pertemuan 7 PWEB - Membuat Website Course
Nama : Kadek Fajar Pramartha Yasodana
NRP : 5025231185
Kelas : PWEB E
Membuat Website Kursus
Pada tugas kali ini, saya membuat sebuah website kursus yang mengintegrasikan layout-layout yang sedikit rumit. Selain itu juga terdapat beberapa bagian tipe yang bisa dipilih pada bagian kursus, dan container tersebut akan memberikan kursus yang sesuai dengan pilihan tanpa mereload website.
Source Code : GitHub
Link Hosting Kursus : Vercel
Link Hosting Semua Project : Vercel
Screenshot Offers
File index.html pada project ini merupakan halaman web yang
menggunakan HTML5. Di dalam elemen <head>, terdapat dua tautan stylesheet
(normalize.css dan styles.css) yang digunakan untuk menormalkan gaya default
browser dan menerapkan gaya khusus pada halaman, serta satu skrip JavaScript
(script.js) yang dimuat secara defer untuk memastikan skrip dijalankan setelah
halaman selesai dimuat.
Di dalam elemen <body>, terdapat elemen <nav>
yang berfungsi sebagai navigasi utama halaman. Elemen ini berisi gambar logo
(cryothink.png) dan dua elemen <div> yang masing-masing berisi elemen
<h3> dengan teks "Home" dan "Course". Kedua elemen
<div> ini memiliki atribut onclick yang menggunakan metode
scrollIntoView() untuk menggulir halaman ke elemen dengan ID home dan course
ketika diklik.
Selanjutnya, terdapat elemen <main> yang berfungsi
sebagai konten utama halaman. Di dalamnya, terdapat elemen <div> dengan
ID home dan kelas home, yang menampilkan gambar latar belakang
(homebackground.png), judul "Premium Course", deskripsi singkat
tentang kursus premium yang ditawarkan oleh Cryothink, dan tombol "Learn
More" yang menggulir halaman ke bagian kursus ketika diklik.
Bagian kursus (course) terdiri dari elemen <aside>
yang berisi tombol-tombol navigasi untuk berbagai kategori kursus seperti
"Offers", "Algorithms", "Web", dan
"Game". Di sebelahnya, terdapat elemen <section> yang berisi
berbagai kursus yang ditawarkan. Setiap kursus ditampilkan dalam elemen
<div> dengan kelas course-item, yang berisi header dengan judul kursus,
gambar, deskripsi singkat, dan tombol "Learn More".
Bagian kursus algoritma (course-algorithms) mencakup kursus
dasar, struktur data, dan graf, masing-masing dengan deskripsi yang lebih
mendetail dan harga. Bagian kursus pengembangan web (course-web) mencakup
kursus HTML & CSS, Node JS, Deployment, dan Frameworks, dengan deskripsi
dan harga masing-masing. Bagian kursus pengembangan game
(course-gamedevelopment) mencakup kursus Unity, OpenGL, Shaders, dan Vulkan,
dengan deskripsi dan harga masing-masing.
Terakhir, terdapat elemen <footer> yang berisi teks
"Made by Kadek Fajar Pramartha Yasodana", menunjukkan pembuat halaman
web ini.
script.js
Kode JavaScript ini mengelola tampilan dan interaksi dari berbagai bagian kursus pada halaman web. Pertama, kode ini mengambil referensi ke elemen-elemen HTML yang mewakili tombol-tombol navigasi dan bagian-bagian kursus, kemudian menyimpannya dalam array untuk memudahkan pengelolaan. Variabel activeIndex digunakan untuk menyimpan indeks dari bagian kursus yang sedang aktif, dan TYPE_COUNT menyimpan jumlah total jenis kursus.
Fungsi setActive diinisialisasi dengan memanggil setActive(0) untuk mengatur tampilan awal agar bagian "Offers" aktif saat halaman pertama kali dimuat. Event listener ditambahkan ke setiap tombol navigasi untuk memanggil fungsi setActive dengan indeks yang sesuai ketika tombol diklik.
Fungsi setActive mengatur bagian kursus mana yang aktif berdasarkan indeks yang diberikan, dengan menghapus kelas button-aside-choosed dari tombol yang tidak aktif dan menambahkan kelas inactive ke bagian kursus yang tidak aktif, serta menambahkan kelas button-aside-choosed ke tombol yang aktif dan menghapus kelas inactive dari bagian kursus yang aktif.




Comments
Post a Comment