đź’» Tutorial Web

Cara Membuat Website Portofolio dengan Efek Cosmic

🗓️ 4 April 2026 ⏱️ 8 menit baca 👤 Rhadzor

Website portofolio adalah etalase digital yang memperlihatkan karya dan kemampuanmu kepada dunia. Namun, di tengah lautan website yang terlihat serupa, bagaimana cara membuat portofoliomu menonjol dan berkesan? Salah satu caranya adalah dengan menggunakan efek cosmic—tampilan latar belakang yang menyerupai ruang angkasa dengan bintang-bintang dan nebula yang bergerak.

Dalam tutorial ini, kita akan membangun website portofolio dengan efek cosmic menggunakan HTML, CSS, dan sedikit JavaScript. Efek ini tidak hanya membuat website terlihat profesional, tetapi juga menciptakan pengalaman visual yang imersif bagi pengunjung.

Mengapa Efek Cosmic?

Sebelum kita mulai coding, mari pahami mengapa efek cosmic begitu efektif untuk website portofolio:

Langkah 1: Struktur HTML Dasar

Pertama, kita buat struktur HTML yang bersih dan semantic. Pemisahan yang baik antara struktur (HTML), tampilan (CSS), dan interaksi (JavaScript) adalah kunci website yang maintainable.

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Portofolio Cosmic</title>
</head>
<body>
    <div class="cosmic-bg">
        <div class="stars-far"></div>
        <div class="stars-near"></div>
        <div class="nebula"></div>
    </div>
    
    <main class="content">
        <h1>Hello, I'm Developer</h1>
        <p>Welcome to my cosmic portfolio</p>
    </main>
</body>
</html>

Langkah 2: Membuat Efek Bintang dengan CSS

Rahasia efek bintang yang realistis terletak pada penggunaan radial-gradient dan background-size. Kita akan membuat tiga lapisan bintang dengan ukuran dan kecepatan berbeda untuk menciptakan efek parallax.

.stars-far {
    position: fixed;
    inset: 0;
    background-image: 
        radial-gradient(1px 1px at 20px 30px, #fff, transparent),
        radial-gradient(1px 1px at 50px 100px, rgba(255,255,255,0.8), transparent),
        radial-gradient(1px 1px at 130px 80px, #fff, transparent);
    background-size: 200px 200px;
    animation: twinkle 3s ease-in-out infinite;
}

@keyframes twinkle {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

Trik Penting: Multiple Background Layers

Gunakan multiple background layers dengan background-size yang berbeda-beda. Ini menciptakan variasi yang organik—seperti bintang di alam semesta yang memang tersebar secara acak.

đź’ˇ Pro Tips

Langkah 3: Efek Nebula dengan Gradient

Nebula adalah awan gas dan debu di ruang angkasa yang memiliki warna-warna indah. Kita bisa mereplikasi efek ini menggunakan CSS gradient yang blur.

.nebula {
    position: fixed;
    inset: 0;
    background: 
        radial-gradient(circle at 20% 30%, 
            rgba(111, 199, 255, 0.4), 
            transparent 50%),
        radial-gradient(circle at 80% 70%, 
            rgba(141, 109, 255, 0.3), 
            transparent 50%);
    filter: blur(40px);
    animation: nebulaMove 20s ease-in-out infinite;
}

@keyframes nebulaMove {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(-20px, 20px); }
}

Langkah 4: Parallax dengan Mouse Movement

Sekarang kita tambahkan interaktivitas! Dengan JavaScript, kita bisa membuat lapisan bintang bergerak sedikit mengikuti cursor mouse—menciptakan efek 3D yang halus.

document.addEventListener('mousemove', (e) => {
    const x = e.clientX / window.innerWidth - 0.5;
    const y = e.clientY / window.innerHeight - 0.5;
    
    document.documentElement.style.setProperty('--mx', x);
    document.documentElement.style.setProperty('--my', y);
});

// CSS
.stars-near {
    transform: translate(
        calc(var(--mx) * 20px), 
        calc(var(--my) * 20px)
    );
}

Langkah 5: Optimasi Performa

Efek visual yang indah tidak berarti jika website menjadi lambat. Berikut beberapa teknik optimasi yang krusial:

Gunakan GPU Acceleration

Properti transform dan opacity di-render oleh GPU, membuat animasi jauh lebih smooth daripada mengubah properti seperti top atau left.

Reduce Motion untuk Accessibility

Selalu pertimbangkan pengguna yang sensitif terhadap gerakan. Gunakan media query prefers-reduced-motion:

@media (prefers-reduced-motion: reduce) {
    .stars-far, .stars-near, .nebula {
        animation: none;
    }
}

🎯 Checklist Optimasi

Kesimpulan

Dengan kombinasi CSS gradients, animations, dan JavaScript sederhana, kita bisa menciptakan efek cosmic yang memukau untuk website portofolio. Yang terpenting adalah keseimbangan antara estetika dan performa—efek yang indah tidak boleh mengorbankan kecepatan loading dan pengalaman pengguna.

Efek cosmic ini cocok untuk berbagai jenis website: portofolio developer, landing page produk teknologi, hingga website personal brand. Yang perlu diingat adalah konten tetap menjadi raja—efek visual hanyalah cara untuk menyajikan konten dengan lebih menarik.

🚀 Lihat Proyek Lainnya

Temukan lebih banyak eksperimen digital, game, dan aplikasi di Studio Rhadzor.

Jelajahi Studio →

Punya pertanyaan atau ingin berbagi hasil eksperimen cosmic-mu? Hubungi saya melalui sosial media atau kunjungi studio.rhadzor.id