Membuat Desain Halaman Login Mobile dengan Flutter di Web Flutter Zapp.run

 




📱✨ Membuat Desain Halaman Login Mobile dengan Flutter di Web Flutter Zapp.run

👩‍💻 Oleh: Sela Salafiah – XI PPLG


📖 Pendahuluan

Di era digital saat ini 🌐, hampir semua aplikasi mobile 📲 memerlukan fitur login sebagai pintu masuk bagi pengguna 🔑.
Desain halaman login yang menarik 🎨, responsif 📏, dan profesional 🏆 akan meningkatkan pengalaman pengguna serta memberi kesan pertama yang baik.

Pada artikel ini, kita akan belajar membuat desain halaman login mobile menggunakan Dart Flutter 🐦, yang bisa langsung dijalankan di web Flutter Zapp.run 💻 tanpa instalasi ribet.


🎯 Tujuan Pembelajaran

✅ Memahami cara membuat tampilan halaman login di Flutter.
✅ Menggunakan Widget Flutter seperti Scaffold, AppBar, TextField, dan ElevatedButton.
✅ Mendesain tampilan login agar menarik 💡 dan responsif 📐.


💎 Fitur Desain Halaman Login

Tampilan login yang akan kita buat punya:

1️⃣ 📌 AppBar dengan judul Login.
2️⃣ 💚 Background berwarna hijau untuk nuansa segar.
3️⃣ 👤 Lingkaran dengan ikon pengguna di bagian atas form login.
4️⃣ 📝 Kolom Username dan 🔒 Password dengan ikon di dalamnya.
5️⃣ 🟧 Tombol Sign In berwarna oranye yang menarik perhatian.
6️⃣ ❓ Tautan Forgot Password? untuk reset sandi.


💻 Kode Program Lengkap

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: const LoginPage(),
    );
  }
}

class LoginPage extends StatelessWidget {
  const LoginPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Login"),
        backgroundColor: Colors.blue,
      ),
      backgroundColor: Colors.teal[600],
      body: Center(
        child: SingleChildScrollView(
          child: Column(
            children: [
              // 👤 Lingkaran dengan ikon user
              Stack(
                alignment: Alignment.center,
                children: [
                  Container(
                    width: 100,
                    height: 100,
                    decoration: const BoxDecoration(
                      color: Colors.white,
                      shape: BoxShape.circle,
                    ),
                  ),
                  const Icon(
                    Icons.person,
                    size: 60,
                    color: Colors.grey,
                  ),
                ],
              ),
              const SizedBox(height: 20),

              // 🗂 Card form login
              Container(
                margin: const EdgeInsets.symmetric(horizontal: 24),
                padding: const EdgeInsets.all(20),
                decoration: BoxDecoration(
                  color: Colors.white,
                  borderRadius: BorderRadius.circular(8),
                  boxShadow: [
                    BoxShadow(
                      color: Colors.black12,
                      blurRadius: 6,
                      offset: Offset(0, 2),
                    ),
                  ],
                ),
                child: Column(
                  children: [
                    // 👤 Username field
                    TextField(
                      decoration: InputDecoration(
                        prefixIcon: Icon(Icons.person_outline),
                        labelText: 'User Name',
                        border: OutlineInputBorder(
                          borderRadius: BorderRadius.circular(8),
                        ),
                      ),
                    ),
                    const SizedBox(height: 16),

                    // 🔒 Password field
                    TextField(
                      obscureText: true,
                      decoration: InputDecoration(
                        prefixIcon: Icon(Icons.lock_outline),
                        suffixIcon: Icon(Icons.visibility),
                        labelText: 'Password',
                        border: OutlineInputBorder(
                          borderRadius: BorderRadius.circular(8),
                        ),
                      ),
                    ),

                    const SizedBox(height: 8),

                    // ❓ Forgot Password link
                    Align(
                      alignment: Alignment.centerRight,
                      child: TextButton(
                        onPressed: () {},
                        child: const Text(
                          "Forgot Password?",
                          style: TextStyle(color: Colors.grey),
                        ),
                      ),
                    ),

                    const SizedBox(height: 8),

                    // 🟧 Tombol Sign In
                    SizedBox(
                      width: double.infinity,
                      child: ElevatedButton(
                        style: ElevatedButton.styleFrom(
                          backgroundColor: Colors.orange,
                          padding: const EdgeInsets.symmetric(vertical: 14),
                        ),
                        onPressed: () {},
                        child: const Text(
                          "Sign in",
                          style: TextStyle(color: Colors.white, fontSize: 16),
                        ),
                      ),
                    ),
                  ],
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

⚡ Cara Menjalankan di Web Flutter Zapp.run

1️⃣ Buka 🌐 https://zapp.run
2️⃣ Pilih template Flutter.
3️⃣ Hapus kode bawaan dan tempelkan kode di atas 📋.
4️⃣ Klik tombol Run ▶️ untuk menjalankan program.


📝 Penutup

Dengan mengikuti tutorial ini, kita telah berhasil membuat halaman login yang menarik 💖, sederhana, dan fungsional 🛠 menggunakan Flutter.

💡 Tips pengembangan:

  • Coba tambahkan animasi fade-in ✨.

  • Gunakan smooth transition 🎥 agar perpindahan halaman lebih halus.

  • Sesuaikan warna 🎨 agar cocok dengan tema aplikasi kamu.

Semoga tutorial ini bermanfaat dan bisa jadi inspirasi untuk project kamu berikutnya 🚀.



Komentar

Postingan populer dari blog ini

Membuat Aplikasi Absensi dengan Flutter & MockAPI

💡 Ingin Web Kamu Lebih Interaktif? Tambahkan Map, Rute, & WhatsApp Sekali Klik!

Aplikasi Kantin Sekolah Digital: Mini Project Flutter untuk Transaksi Makanan di Sekolah