Senin, 15 September 2025

Coding Java - NoteApp

Versi 1

 




Versi 2





Versi 3





Versi 4


Aplikasi ini versi GUI dengan Swing mempunyai form input catatan (judul & isi) dan tombol untuk menambah catatan ke daftar, lalu ditampilkan di JTextArea.

 Fitur:

  1. Form Input: user bisa mengisi judul & isi catatan.

  2. Tombol Tambah Catatan: menyimpan catatan ke dalam ArrayList.

  3. Daftar Catatan: semua catatan ditampilkan di bawah dalam JTextArea.

  4. Validasi: jika judul/isi kosong → muncul pop-up peringatan.





 Versi 5

Fitur:

  • Lanjutan dengan JTable

  • Input Judul dan Isi Catatan.

  • Tombol Simpan Catatan untuk menambahkan ke daftar.

  • Area bawah menampilkan semua catatan yang tersimpan.



Versi 6

Fitur:

  • Lanjutan GUI Aplikasi Catatan Pribadi dengan fitur:

  • Tambah catatan baru

  • Pilih catatan dari daftar (JList)
  • Edit catatan
  • Hapus catatan
  • :

    ✅ Tambah catatan baru
    ✅ Pilih catatan dari daftar kiri
    ✅ Edit judul & isi catatan
    ✅ Hapus catatan dengan konfirmasi


Versi 7

Fitur 1 yang tersedia:

✅ Tambah, edit, hapus catatan
✅ Simpan catatan ke file (notes.dat)
✅ Muat catatan otomatis saat aplikasi dijalankan



Versi 8

Fitur 2 :

Aplikasi catatan supaya catatan bisa disimpan ke file (persistent storage).
Saya gunakan serialization (ObjectOutputStream dan ObjectInputStream) agar catatan bisa disimpan dalam file notes.dat.

✅ Tambah, edit, hapus catatan
✅ Simpan catatan ke file (notes.dat)
✅ Muat catatan otomatis saat aplikasi dijalankan


Versi 9

Fitur 3 :

Menyimpan tiap catatan sebagai file .txt agar bisa dibuka dengan Notepad atau editor teks lain.

✅ Catatan disimpan sebagai file .txt di folder notes_txt
✅ File bisa dibuka di Notepad atau editor teks lain
✅ Catatan otomatis dimuat saat aplikasi dibuka
✅ Bisa tambah, edit, hapus catatan


Versi 10

Fitur tambahan:

Menambahkan fitur pencarian catatan berdasarkan judul.

✅ Pencarian catatan berdasarkan judul
✅ Tombol Cari menampilkan hasil filter
✅ Tombol Reset mengembalikan semua catatan
✅ Semua fitur sebelumnya (Tambah, Edit, Hapus, Simpan TXT, Load TXT) tetap ada




Landing Page contoh

 




Coding Java - Latihan OOP Java Berbasis Proyek



Rencana 16 Pertemuan OOP Java Berbasis Proyek

Pertemuan 1 – Pengenalan OOP & Java

Pertemuan 2 – Class & Object

  • Materi: Cara membuat class dan object di Java.

  • Latihan Proyek: Aplikasi Data Mahasiswa

    • Class Student dengan atribut nama, nim, jurusan.

    • Buat beberapa objek mahasiswa lalu tampilkan datanya.

Pertemuan 3 – Constructor & Method

  • Materi: Constructor default & parameterized, method sederhana.

  • Latihan Proyek: Aplikasi Kalkulator Sederhana

    • Class Calculator dengan method tambah, kurang, kali, bagi.

    • Gunakan constructor untuk inisialisasi.

Pertemuan 4 – Encapsulation

  • Materi: Access modifier (private, public), getter & setter.

  • Latihan Proyek: Aplikasi Rekening Bank

    • Class Account dengan atribut saldo.

    • Method deposit, withdraw dengan validasi saldo.

Pertemuan 5 – Inheritance (Pewarisan)

  • Materi: Konsep pewarisan, extends.

  • Latihan Proyek: Aplikasi Kendaraan

    • Class Vehicle (merek, tahun).

    • Subclass Car dan Motorcycle dengan method khusus.

Pertemuan 6 – Polymorphism

  • Materi: Overriding, dynamic polymorphism.

  • Latihan Proyek: Aplikasi Pembayaran

    • Class Payment → subclass CashPayment, DigitalPayment.

    • Override method pay().

Pertemuan 7 – Abstract Class

  • Materi: Abstract method & class.

  • Latihan Proyek: Aplikasi Hewan Peliharaan

    • Abstract class Animal dengan method makeSound().

    • Subclass Dog, Cat.

Pertemuan 8 – Interface

  • Materi: Interface dan implementasi.

  • Latihan Proyek: Aplikasi Media Player

    • Interface Playable (play, pause).

    • Class MusicPlayer & VideoPlayer.

Pertemuan 9 – Collection & ArrayList

  • Materi: Array vs Collection, penggunaan ArrayList.

  • Latihan Proyek: Aplikasi Manajemen Perpustakaan

    • Class Book (judul, penulis).

    • Simpan daftar buku di ArrayList.

Pertemuan 10 – Exception Handling

  • Materi: Try-catch-finally, custom exception.

  • Latihan Proyek: Aplikasi ATM

    • Jika saldo tidak cukup → lempar InsufficientBalanceException.

Pertemuan 11 – File I/O

  • Materi: Membaca & menulis file.

  • Latihan Proyek: Aplikasi To-Do List

    • Simpan daftar tugas ke file .txt dan baca kembali.

Pertemuan 12 – GUI dengan Swing (Dasar)

  • Materi: Pengenalan Swing, JFrame, JButton, JLabel.

  • Latihan Proyek: Aplikasi Login Form

    • Form login dengan username & password sederhana.

Pertemuan 13 – GUI dengan Swing (Lanjutan)

  • Materi: Layout manager, JTable.

  • Latihan Proyek: Aplikasi Data Kontak

    • Menyimpan dan menampilkan kontak (nama, no HP) dalam tabel.

Pertemuan 14 – Package & Modularisasi

  • Materi: Membuat package, mengatur project lebih terstruktur.

  • Latihan Proyek: Aplikasi Manajemen Sekolah

    • Package student, teacher, course.

Pertemuan 15 – Mini Project

  • Materi: Integrasi konsep OOP.

  • Proyek: Aplikasi Point of Sale (Kasir Toko)

    • Class Product, Cart, Transaction.

    • Fitur: tambah produk, hitung total, cetak struk sederhana.

Pertemuan 16 – Final Project Presentation

  • Mahasiswa membuat proyek akhir berbasis OOP Java.

  • Contoh ide:

    • Aplikasi Reservasi Hotel

    • Aplikasi Sistem Parkir

    • Aplikasi Pengingat Jadwal

    • Aplikasi Catatan Keuangan Pribadi

Referensi











Kamis, 11 September 2025

Ledera

 



PROMPT

Buatkan Website (Research Landing Page)
Judul Website: Ledera – Platform untuk Pelatihan dan Pengembangan Diri

Desain & Layout:

Header (Navbar atas):

Logo dengan ikon bulat berisi huruf L dan teks "Ledera".

Navigasi bagian kanan terdiri dari: ikon media sosial (Twitter, Facebook, Pinterest, Instagram).

Kontak di pojok kanan atas: ikon telepon + nomor, ikon email + alamat email.

Gaya minimalis, tipografi modern.

Hero Section (Bagian utama):

Background putih bersih.

Layout 2 kolom:

Kiri:

Judul besar (bold) "Learning and Development Research Academy."

Kata Ledera diberi warna biru untuk penekanan.

Paragraf deskripsi singkat dengan warna teks abu-abu.

Form pencarian:

Input "Search for Activity" dengan ikon search.

Input "Categories" dengan ikon panah dropdown.

Tombol biru "Join Now".

Semua elemen form dalam card dengan background abu-abu muda dan rounded corner.

Kanan:

Gambar ilustrasi (contoh: burung yang terbang atau visual bebas terkait pembelajaran/ilustrasi modern).

Footer (opsional jika ingin dibuat):

Copyright kecil.

Ikon media sosial tambahan.

Warna & Style:

Warna utama: biru lembut (#4A90E2 atau sejenis).

Background: putih.

Font: modern sans-serif (contoh: Poppins atau Inter).

Tombol: biru dengan teks putih, rounded, efek hover lembut.

Elemen form: clean, dengan shadow halus.

Teknologi:

HTML, CSS (Flexbox atau Grid untuk layout).

Responsive (terutama mobile-friendly).

Gunakan ikon dari RemixIcon atau FontAwesome.

HTML


<!DOCTYPE html>

<html lang="id">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Ledera - Platform untuk Pelatihan dan Pengembangan Diri</title>

    <script src="https://cdn.tailwindcss.com"></script>

    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">

    <link href="https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.css" rel="stylesheet">

    <style>

        body {

            font-family: 'Inter', sans-serif;

        }

        .logo-circle {

            background: linear-gradient(135deg, #4A90E2 0%, #357ABD 100%);

        }

        .search-card {

            background: #F8FAFC;

            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);

        }

        .btn-primary {

            background: linear-gradient(135deg, #4A90E2 0%, #357ABD 100%);

            transition: all 0.3s ease;

        }

        .btn-primary:hover {

            transform: translateY(-2px);

            box-shadow: 0 10px 20px rgba(74, 144, 226, 0.3);

        }

        .hero-illustration {

            animation: float 6s ease-in-out infinite;

        }

        @keyframes float {

            0%, 100% { transform: translateY(0px); }

            50% { transform: translateY(-20px); }

        }

    </style>

</head>

<body class="bg-white">

    <!-- Header -->

    <header class="bg-white shadow-sm">

        <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">

            <div class="flex justify-between items-center py-4">

                <!-- Logo -->

                <div class="flex items-center space-x-3">

                    <div class="logo-circle w-10 h-10 rounded-full flex items-center justify-center">

                        <span class="text-white font-bold text-lg">L</span>

                    </div>

                    <span class="text-2xl font-bold text-gray-900">Ledera</span>

                </div>

                

                <!-- Contact & Social -->

                <div class="flex items-center space-x-6">

                    <!-- Contact Info -->

                    <div class="hidden md:flex items-center space-x-4 text-sm text-gray-600">

                        <div class="flex items-center space-x-2">

                            <i class="ri-phone-line text-blue-500"></i>

                            <span>+62 812-3456-7890</span>

                        </div>

                        <div class="flex items-center space-x-2">

                            <i class="ri-mail-line text-blue-500"></i>

                            <span>info@ledera.com</span>

                        </div>

                    </div>

                    

                    <!-- Social Icons -->

                    <div class="flex items-center space-x-3">

                        <a href="#" class="text-gray-400 hover:text-blue-500 transition-colors">

                            <i class="ri-twitter-line text-xl"></i>

                        </a>

                        <a href="#" class="text-gray-400 hover:text-blue-500 transition-colors">

                            <i class="ri-facebook-line text-xl"></i>

                        </a>

                        <a href="#" class="text-gray-400 hover:text-blue-500 transition-colors">

                            <i class="ri-pinterest-line text-xl"></i>

                        </a>

                        <a href="#" class="text-gray-400 hover:text-blue-500 transition-colors">

                            <i class="ri-instagram-line text-xl"></i>

                        </a>

                    </div>

                </div>

            </div>

        </div>

    </header>


    <!-- Hero Section -->

    <main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16">

        <div class="grid lg:grid-cols-2 gap-12 items-center">

            <!-- Left Column -->

            <div class="space-y-8">

                <div class="space-y-6">

                    <h1 class="text-4xl lg:text-5xl font-bold text-gray-900 leading-tight">

                        Learning and Development Research 

                        <span class="text-blue-500">Academy</span>

                    </h1>

                    <p class="text-lg text-gray-600 leading-relaxed">

                        Platform terdepan untuk pengembangan diri dan pelatihan profesional. 

                        Bergabunglah dengan ribuan peserta yang telah meningkatkan karir mereka 

                        melalui program pembelajaran berkualitas tinggi.

                    </p>

                </div>


                <!-- Search Form -->

                <div class="search-card p-6 rounded-2xl">

                    <div class="space-y-4">

                        <div class="grid md:grid-cols-2 gap-4">

                            <!-- Search Input -->

                            <div class="relative">

                                <div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">

                                    <i class="ri-search-line text-gray-400"></i>

                                </div>

                                <input 

                                    type="text" 

                                    placeholder="Search for Activity"

                                    class="w-full pl-10 pr-4 py-3 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent outline-none transition-all"

                                >

                            </div>

                            

                            <!-- Categories Dropdown -->

                            <div class="relative">

                                <select class="w-full px-4 py-3 border border-gray-200 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent outline-none transition-all appearance-none bg-white">

                                    <option>Categories</option>

                                    <option>Leadership</option>

                                    <option>Digital Marketing</option>

                                    <option>Data Science</option>

                                    <option>Project Management</option>

                                    <option>Soft Skills</option>

                                </select>

                                <div class="absolute inset-y-0 right-0 pr-3 flex items-center pointer-events-none">

                                    <i class="ri-arrow-down-s-line text-gray-400"></i>

                                </div>

                            </div>

                        </div>

                        

                        <!-- Join Button -->

                        <button class="btn-primary w-full md:w-auto px-8 py-3 text-white font-semibold rounded-lg">

                            <i class="ri-user-add-line mr-2"></i>

                            Join Now

                        </button>

                    </div>

                </div>

            </div>


            <!-- Right Column - Illustration -->

            <div class="flex justify-center lg:justify-end">

                <div class="hero-illustration">

                    <svg width="400" height="400" viewBox="0 0 400 400" class="w-full max-w-md">

                        <!-- Background Circle -->

                        <circle cx="200" cy="200" r="180" fill="#F0F7FF" opacity="0.5"/>

                        

                        <!-- Flying Bird -->

                        <g transform="translate(150, 120)">

                            <path d="M20 40 Q30 20 50 30 Q70 20 80 40 Q70 50 50 45 Q30 50 20 40" fill="#4A90E2"/>

                            <path d="M25 45 Q35 35 45 40" stroke="#357ABD" stroke-width="2" fill="none"/>

                        </g>

                        

                        <!-- Books Stack -->

                        <g transform="translate(120, 250)">

                            <rect x="0" y="0" width="60" height="8" rx="2" fill="#4A90E2"/>

                            <rect x="5" y="-10" width="55" height="8" rx="2" fill="#357ABD"/>

                            <rect x="10" y="-20" width="50" height="8" rx="2" fill="#5BA0F2"/>

                        </g>

                        

                        <!-- Graduation Cap -->

                        <g transform="translate(220, 180)">

                            <rect x="0" y="0" width="40" height="6" rx="3" fill="#4A90E2"/>

                            <polygon points="20,0 35,10 5,10" fill="#357ABD"/>

                            <circle cx="35" cy="3" r="2" fill="#357ABD"/>

                        </g>

                        

                        <!-- Learning Icons -->

                        <g transform="translate(100, 150)">

                            <circle cx="0" cy="0" r="15" fill="#E3F2FD"/>

                            <path d="M-8 -3 L-3 2 L8 -8" stroke="#4A90E2" stroke-width="2" fill="none"/>

                        </g>

                        

                        <g transform="translate(280, 220)">

                            <circle cx="0" cy="0" r="12" fill="#E3F2FD"/>

                            <rect x="-6" y="-6" width="12" height="12" rx="2" fill="#4A90E2"/>

                        </g>

                        

                        <!-- Floating Elements -->

                        <circle cx="80" cy="100" r="4" fill="#4A90E2" opacity="0.6">

                            <animate attributeName="cy" values="100;90;100" dur="3s" repeatCount="indefinite"/>

                        </circle>

                        <circle cx="320" cy="150" r="3" fill="#357ABD" opacity="0.6">

                            <animate attributeName="cy" values="150;140;150" dur="4s" repeatCount="indefinite"/>

                        </circle>

                        <circle cx="300" cy="300" r="5" fill="#5BA0F2" opacity="0.6">

                            <animate attributeName="cy" values="300;290;300" dur="3.5s" repeatCount="indefinite"/>

                        </circle>

                    </svg>

                </div>

            </div>

        </div>

    </main>


    <!-- Footer -->

    <footer class="bg-gray-50 border-t border-gray-200 mt-20">

        <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">

            <div class="flex flex-col md:flex-row justify-between items-center space-y-4 md:space-y-0">

                <div class="text-sm text-gray-600">

                    © 2024 Ledera. All rights reserved.

                </div>

                <div class="flex items-center space-x-4">

                    <a href="#" class="text-gray-400 hover:text-blue-500 transition-colors">

                        <i class="ri-twitter-line text-lg"></i>

                    </a>

                    <a href="#" class="text-gray-400 hover:text-blue-500 transition-colors">

                        <i class="ri-facebook-line text-lg"></i>

                    </a>

                    <a href="#" class="text-gray-400 hover:text-blue-500 transition-colors">

                        <i class="ri-pinterest-line text-lg"></i>

                    </a>

                    <a href="#" class="text-gray-400 hover:text-blue-500 transition-colors">

                        <i class="ri-instagram-line text-lg"></i>

                    </a>

                </div>

            </div>

        </div>

    </footer>


    <script>

        // Form functionality

        document.querySelector('button').addEventListener('click', function(e) {

            e.preventDefault();

            const searchInput = document.querySelector('input[type="text"]');

            const categorySelect = document.querySelector('select');

            

            if (searchInput.value.trim() === '') {

                alert('Silakan masukkan kata kunci pencarian!');

                searchInput.focus();

                return;

            }

            

            // Simulate search action

            alert(`Mencari "${searchInput.value}" dalam kategori "${categorySelect.value}"...`);

        });


        // Social media links

        document.querySelectorAll('a[href="#"]').forEach(link => {

            link.addEventListener('click', function(e) {

                e.preventDefault();

                const icon = this.querySelector('i').className;

                let platform = 'media sosial';

                

                if (icon.includes('twitter')) platform = 'Twitter';

                else if (icon.includes('facebook')) platform = 'Facebook';

                else if (icon.includes('pinterest')) platform = 'Pinterest';

                else if (icon.includes('instagram')) platform = 'Instagram';

                

                alert(`Mengarahkan ke halaman ${platform} Ledera...`);

            });

        });

    </script>

<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'97d574a143f6603b',t:'MTc1NzU3NTc4Mi4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>

</html>


Rabu, 10 September 2025

Web Design Mastery - Booking Hotel

 




Templat Html 2

 



Prompt Design Website

Judul Website: LinkSite – Personal Links Page

Deskripsi:
Buat desain website sederhana bergaya personal link page seperti Linktree, dengan tampilan modern, minimalis, dan mobile-friendly. Website ini digunakan untuk menampilkan daftar tautan media sosial, portofolio, atau link penting.

Struktur Halaman:

  1. Header (Profile Section):

    • Foto profil berbentuk bulat (center).

    • Nama lengkap pemilik website.

    • Deskripsi singkat / tagline (contoh: Content Creator | Designer | Educator).

  2. Daftar Link (Main Content):

    • Tampilkan tombol/link dengan gaya kotak membulat (rounded).

    • Setiap link berisi teks + ikon.

    • Efek hover: background sedikit lebih gelap / ada animasi transisi halus.

    • Link yang ditampilkan: Instagram, YouTube, TikTok, Portofolio, Blog, Email.

  3. Footer:

    • Teks copyright kecil (center).

    • Tambahkan ikon media sosial kecil (optional).

Style & Warna:

  • Latar belakang (background): gradasi warna lembut (misalnya ungu → biru).

  • Font: modern sans-serif (contoh: Poppins, Inter).

  • Tombol link: warna putih dengan teks hitam, shadow lembut.

  • Hover: tombol sedikit membesar (scale up) + bayangan lebih jelas.

Teknologi:

  • HTML, CSS (flexbox/center alignment).

  • Responsive (ramah untuk HP).

  • Optional: gunakan Google Fonts untuk tipografi modern.

Index.html


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>LinkSite – Personal Links Page</title>
  <!-- Google Fonts -->
  <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap" rel="stylesheet">
  <!-- Remix Icon -->
  <link href="https://cdn.jsdelivr.net/npm/remixicon@4.2.0/fonts/remixicon.css" rel="stylesheet">
  <!-- CSS -->
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <!-- HEADER -->
  <header class="profile">
    <img src="https://picsum.photos/200" alt="Profile Picture" class="profile__img">
    <h1 class="profile__name">John Doe</h1>
    <p class="profile__tagline">Content Creator | Designer | Educator</p>
  </header>

  <!-- MAIN LINKS -->
  <main class="links">
    <a href="#" class="link__btn"><i class="ri-instagram-line"></i> Instagram</a>
    <a href="#" class="link__btn"><i class="ri-youtube-line"></i> YouTube</a>
    <a href="#" class="link__btn"><i class="ri-tiktok-line"></i> TikTok</a>
    <a href="#" class="link__btn"><i class="ri-briefcase-line"></i> Portfolio</a>
    <a href="#" class="link__btn"><i class="ri-article-line"></i> Blog</a>
    <a href="mailto:example@email.com" class="link__btn"><i class="ri-mail-line"></i> Email</a>
  </main>

  <!-- FOOTER -->
  <footer class="footer">
    <p>© 2025 LinkSite | All Rights Reserved</p>
    <div class="footer__socials">
      <a href="#"><i class="ri-twitter-fill"></i></a>
      <a href="#"><i class="ri-facebook-circle-fill"></i></a>
      <a href="#"><i class="ri-linkedin-fill"></i></a>
    </div>
  </footer>
</body>
</html>

styles.css


/* Font */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap");

:root {
  --bg-gradient: linear-gradient(135deg, #7f7fd5, #86a8e7, #91eae4);
  --white: #ffffff;
  --text-dark: #111827;
  --text-light: #6b7280;
  --btn-shadow: rgba(0, 0, 0, 0.1);
}

/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Poppins", sans-serif;
  background: var(--bg-gradient);
  color: var(--text-dark);
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100vh;
  padding: 2rem 1rem;
}

/* Profile */
.profile {
  text-align: center;
  margin-bottom: 2rem;
}

.profile__img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 1rem;
  border: 3px solid var(--white);
  box-shadow: 0 4px 8px var(--btn-shadow);
}

.profile__name {
  font-size: 1.8rem;
  font-weight: 700;
}

.profile__tagline {
  font-size: 1rem;
  font-weight: 400;
  color: var(--text-light);
}

/* Links */
.links {
  width: 100%;
  max-width: 400px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.link__btn {
  background: var(--white);
  color: var(--text-dark);
  padding: 0.9rem 1.2rem;
  border-radius: 12px;
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-decoration: none;
  box-shadow: 0 4px 10px var(--btn-shadow);
  transition: all 0.3s ease;
}

.link__btn:hover {
  background: #f3f4f6;
  transform: scale(1.05);
  box-shadow: 0 6px 14px var(--btn-shadow);
}

/* Footer */
.footer {
  margin-top: auto;
  text-align: center;
  font-size: 0.9rem;
  color: var(--white);
  opacity: 0.9;
}

.footer__socials {
  margin-top: 0.5rem;
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.footer__socials a {
  color: var(--white);
  font-size: 1.2rem;
  transition: 0.3s;
}

.footer__socials a:hover {
  color: #222;
}

Template HTML 1

 



Prompt Design Website (E-Learning Landing Page)

Judul Website: E-Learning – Single Platform for All Your Learning Needs

Desain & Layout:

  • Header (Navbar atas):

    • Logo dengan ikon bulat berisi huruf E dan teks "Learning".

    • Navigasi bagian kanan terdiri dari: ikon media sosial (Twitter, Facebook, Pinterest, Instagram).

    • Kontak di pojok kanan atas: ikon telepon + nomor, ikon email + alamat email.

    • Gaya minimalis, tipografi modern.

  • Hero Section (Bagian utama):

    • Background putih bersih.

    • Layout 2 kolom:

      • Kiri:

        • Judul besar (bold) "Single Platform For All Your Learning Needs."

          • Kata Learning diberi warna biru untuk penekanan.

        • Paragraf deskripsi singkat dengan warna teks abu-abu.

        • Form pencarian:

          • Input "Search for Course" dengan ikon search.

          • Input "Categories" dengan ikon panah dropdown.

          • Tombol biru "Search Now".

          • Semua elemen form dalam card dengan background abu-abu muda dan rounded corner.

      • Kanan:

        • Gambar ilustrasi (contoh: burung yang terbang atau visual bebas terkait pembelajaran/ilustrasi modern).

  • Footer (opsional jika ingin dibuat):

    • Copyright kecil.

    • Ikon media sosial tambahan.

Warna & Style:

  • Warna utama: biru lembut (#4A90E2 atau sejenis).

  • Background: putih.

  • Font: modern sans-serif (contoh: Poppins atau Inter).

  • Tombol: biru dengan teks putih, rounded, efek hover lembut.

  • Elemen form: clean, dengan shadow halus.

Teknologi:

  • HTML, CSS (Flexbox atau Grid untuk layout).

  • Responsive (terutama mobile-friendly).

  • Gunakan ikon dari RemixIcon atau FontAwesome.


index.html

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>E-Learning Platform</title>

  <!-- Remix Icon -->

  <link href="https://cdn.jsdelivr.net/npm/remixicon@4.2.0/fonts/remixicon.css" rel="stylesheet">

  <!-- CSS -->

  <link rel="stylesheet" href="styles.css">

</head>

<body>

  <!-- NAVBAR -->

  <nav class="navbar">

    <div class="nav__logo">

      <div class="logo-circle">E</div>

      <span>Learning</span>

    </div>


    <ul class="nav__socials">

      <li><a href="#"><i class="ri-twitter-fill"></i></a></li>

      <li><a href="#"><i class="ri-facebook-circle-fill"></i></a></li>

      <li><a href="#"><i class="ri-pinterest-line"></i></a></li>

      <li><a href="#"><i class="ri-instagram-line"></i></a></li>

    </ul>


    <div class="nav__contact">

      <div class="nav__contact__card">

        <i class="ri-phone-line"></i>

        <div>

          <p>Call Us</p>

          <h4>+01 98765 4321</h4>

        </div>

      </div>

      <div class="nav__contact__card">

        <i class="ri-mail-line"></i>

        <div>

          <p>Email Us</p>

          <h4>info@elearnings.com</h4>

        </div>

      </div>

    </div>

  </nav>


  <!-- HEADER -->

  <header class="header__container">

    <div class="header__content">

      <h1>Single Platform For All Your <span>Learning</span> Needs.</h1>

      <p>

        Whether you're seeking to enhance your professional skills, explore

        new hobbies, or pursue academic interests, our comprehensive platform

        offers diverse courses and resources tailored to support your lifelong

        learning journey.

      </p>

      <form action="/" class="search__form">

        <div class="input__row">

          <div class="input__group">

            <i class="ri-search-line"></i>

            <input type="text" placeholder="Search for Course">

          </div>

          <div class="input__group">

            <i class="ri-arrow-down-s-line"></i>

            <input type="text" placeholder="Categories">

          </div>

        </div>

        <button type="submit">Search Now</button>

      </form>

    </div>


    <div class="header__image">

      <img src="https://picsum.photos/id/1011/600/400" alt="header image">

    </div>

  </header>

</body>

</html>


style.css


/* Font */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap");

:root {
  --primary-color: #4a90e2;
  --text-dark: #111827;
  --text-light: #6b7280;
  --white: #ffffff;
  --max-width: 1200px;
}

/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Poppins", sans-serif;
  color: var(--text-dark);
  background-color: var(--white);
}

/* NAVBAR */
.navbar {
  max-width: var(--max-width);
  margin: auto;
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border-bottom: 1px solid #ddd;
}

.nav__logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--primary-color);
}

.logo-circle {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  background: var(--primary-color);
  color: var(--white);
  font-weight: 600;
  border-radius: 50%;
}

/* Socials */
.nav__socials {
  list-style: none;
  display: flex;
  gap: 1rem;
}

.nav__socials a {
  font-size: 1.3rem;
  color: var(--text-dark);
  transition: 0.3s;
}

.nav__socials a:hover {
  color: var(--primary-color);
}

/* Contact */
.nav__contact {
  display: flex;
  gap: 1.5rem;
}

.nav__contact__card {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
}

.nav__contact__card i {
  font-size: 1.5rem;
  color: var(--primary-color);
}

.nav__contact__card p {
  color: var(--text-light);
  font-size: 0.8rem;
}

.nav__contact__card h4 {
  font-size: 0.9rem;
  font-weight: 600;
}

/* HEADER */
.header__container {
  max-width: var(--max-width);
  margin: 2rem auto;
  padding: 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
}

.header__content h1 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.header__content h1 span {
  color: var(--primary-color);
}

.header__content p {
  font-size: 1rem;
  line-height: 1.6rem;
  margin-bottom: 2rem;
  color: var(--text-light);
}

/* Search form */
.search__form {
  background: #f6f6f6;
  padding: 1rem;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.input__row {
  display: flex;
  gap: 1rem;
}

.input__group {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--white);
  padding: 0.5rem 1rem;
  border-radius: 8px;
}

.input__group input {
  border: none;
  outline: none;
  flex: 1;
  font-size: 1rem;
}

.search__form button {
  background: var(--primary-color);
  color: var(--white);
  border: none;
  padding: 0.8rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
}

.search__form button:hover {
  background: #357ac8;
}

/* Image */
.header__image img {
  width: 100%;
  border-radius: 10px;
}

/* Responsive */
@media (max-width: 768px) {
  .header__container {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .input__row {
    flex-direction: column;
  }
}

Google AI Studio

  https://www.youtube.com/watch?v=mzqaqqmNhlg https://aistudio.google.com/apps?source=showcase