membuat apk to do list sederhana

 Oke! Berikut versi kata-kata postingan Blogger (tanpa kode), cocok untuk artikel penuh gaya yang bisa langsung kamu posting ke Blogger ✨


📝 Judul Postingan

To-Do List Flutter Elegan: Aplikasi Daftar Tugas Sederhana dan Keren di Zapp.run


📄 Isi Postingan

Apakah kamu pernah merasa kesulitan mengatur kegiatan harianmu? Atau sering lupa hal-hal kecil yang harus dikerjakan? Tenang! Sekarang kamu bisa membuat aplikasi To-Do List sendiri menggunakan Flutter — dan menariknya, kamu tidak perlu install apa pun di laptopmu. Cukup buka Zapp.run dan semua bisa dijalankan langsung di browser!


🌟 Apa Itu To-Do List?

To-Do List adalah daftar tugas atau kegiatan yang membantu kamu lebih terorganisir. Dengan aplikasi ini, kamu bisa:

  • Menambahkan tugas baru

  • Menandai tugas yang sudah selesai

  • Menghapus tugas yang tidak dibutuhkan

  • Melihat semua daftar kegiatan dengan tampilan modern

Sederhana, tapi sangat berguna untuk siapa pun yang ingin lebih produktif setiap hari 💪

import 'package:flutter/material.dart';

void main() => runApp(ToDoApp());

class ToDoApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'To-Do List',
      theme: ThemeData(
        brightness: Brightness.light,
        primarySwatch: Colors.purple,
        scaffoldBackgroundColor: Colors.grey[100],
        useMaterial3: true,
      ),
      home: ToDoHomePage(),
      debugShowCheckedModeBanner: false,
    );
  }
}

class ToDoHomePage extends StatefulWidget {
  @override
  _ToDoHomePageState createState() => _ToDoHomePageState();
}

class _ToDoHomePageState extends State<ToDoHomePage> {
  final List<Map<String, dynamic>> _tasks = [];
  final TextEditingController _controller = TextEditingController();

  void _addTask() {
    final text = _controller.text.trim();
    if (text.isEmpty) return;
    setState(() {
      _tasks.add({'title': text, 'done': false});
      _controller.clear();
    });
  }

  void _toggleDone(int index) {
    setState(() {
      _tasks[index]['done'] = !_tasks[index]['done'];
    });
  }

  void _deleteTask(int index) {
    setState(() {
      _tasks.removeAt(index);
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text(
          '📝 To-Do List',
          style: TextStyle(fontWeight: FontWeight.bold),
        ),
        centerTitle: true,
        backgroundColor: Colors.purple,
        foregroundColor: Colors.white,
      ),
      body: Column(
        children: [
          // Input field
          Padding(
            padding: const EdgeInsets.all(16),
            child: Row(
              children: [
                Expanded(
                  child: TextField(
                    controller: _controller,
                    decoration: InputDecoration(
                      hintText: 'Tambahkan tugas...',
                      border: OutlineInputBorder(
                        borderRadius: BorderRadius.circular(12),
                      ),
                      filled: true,
                      fillColor: Colors.white,
                    ),
                    onSubmitted: (_) => _addTask(),
                  ),
                ),
                const SizedBox(width: 8),
                ElevatedButton(
                  onPressed: _addTask,
                  style: ElevatedButton.styleFrom(
                    backgroundColor: Colors.purple,
                    foregroundColor: Colors.white,
                    shape: RoundedRectangleBorder(
                      borderRadius: BorderRadius.circular(12),
                    ),
                  ),
                  child: const Icon(Icons.add),
                ),
              ],
            ),
          ),

          // List tugas
          Expanded(
            child: _tasks.isEmpty
                ? const Center(
                    child: Text(
                      'Belum ada tugas ✨',
                      style: TextStyle(fontSize: 18, color: Colors.grey),
                    ),
                  )
                : ListView.builder(
                    itemCount: _tasks.length,
                    itemBuilder: (context, index) {
                      final task = _tasks[index];
                      return Card(
                        margin:
                            const EdgeInsets.symmetric(horizontal: 16, vertical: 6),
                        shape: RoundedRectangleBorder(
                          borderRadius: BorderRadius.circular(16),
                        ),
                        child: ListTile(
                          leading: IconButton(
                            icon: Icon(
                              task['done']
                                  ? Icons.check_circle
                                  : Icons.circle_outlined,
                              color: task['done']
                                  ? Colors.purple
                                  : Colors.grey,
                            ),
                            onPressed: () => _toggleDone(index),
                          ),
                          title: Text(
                            task['title'],
                            style: TextStyle(
                              fontSize: 16,
                              decoration: task['done']
                                  ? TextDecoration.lineThrough
                                  : null,
                              color: task['done']
                                  ? Colors.grey
                                  : Colors.black87,
                            ),
                          ),
                          trailing: IconButton(
                            icon: const Icon(Icons.delete_outline, color: Colors.red),
                            onPressed: () => _deleteTask(index),
                          ),
                        ),
                      );
                    },
                  ),
          ),
        ],
      ),
    );
  }
}



💻 Kenapa Pakai Flutter di Zapp.run?

Flutter memungkinkan kamu membuat aplikasi mobile dengan tampilan yang indah, dan Zapp.run membuat semuanya lebih praktis.
Kamu tidak perlu repot menyiapkan emulator atau Android Studio.
Cukup:

  1. Buka situs zapp.run

  2. Pilih template Flutter

  3. Tempelkan kode aplikasimu

  4. Tekan tombol ▶️ Run
    Dan aplikasi kamu langsung berjalan di browser!


🎨 Tampilan Elegan dan Modern

Aplikasi To-Do List ini menggunakan warna ungu lembut dengan desain minimalis.
Tampilannya bersih, responsif, dan mudah digunakan.
Tiap tugas bisa kamu tandai dengan ikon checklist ✅, dan jika sudah selesai, teksnya akan berubah menjadi abu-abu dengan coretan — memberi kesan elegan tapi tetap simpel.


🚀 Fitur-Fitur Utama

Berikut fitur keren yang bisa kamu dapatkan:

  • 🟣 Tambah tugas baru dengan cepat

  • ✅ Tandai tugas yang sudah selesai

  • 🗑️ Hapus tugas yang sudah tidak dibutuhkan

  • 🌈 Tampilan modern dengan gaya Material Design

  • ⚡ Ringan dan langsung bisa dijalankan di Zapp.run


📚 Cocok Untuk Siapa?

Aplikasi ini cocok banget untuk:

  • Mahasiswa atau pelajar yang belajar Flutter dasar

  • Developer pemula yang ingin belajar Stateful Widget

  • Siapa pun yang ingin membuat aplikasi sederhana tapi bermanfaat

  • Atau bahkan sekadar latihan membuat UI Flutter dengan desain menarik


💡 Ide Pengembangan

Kalau kamu ingin mengembangkannya lebih jauh, kamu bisa menambahkan:

  • Mode Gelap (Dark Mode) 🌙

  • Fitur penyimpanan lokal (SharedPreferences) 💾

  • Notifikasi pengingat tugas 🔔

  • Sinkronisasi data ke cloud ☁️

Dengan tambahan itu, To-Do List kamu bisa jadi aplikasi profesional yang siap masuk ke Play Store!


✨ Penutup

Membuat aplikasi To-Do List di Flutter lewat Zapp.run sangat mudah, cepat, dan menyenangkan.
Selain membantu kamu mengatur aktivitas, ini juga jadi sarana belajar yang menyenangkan untuk mengenal Flutter lebih dalam.

Jadi, tunggu apa lagi? Yuk buat versi To-Do List kamu sendiri di Zapp.run sekarang!
Semoga artikel ini bermanfaat dan menginspirasi kamu untuk terus berkarya 💜


🖋️ Ditulis oleh Dara Tri Yuliani — Flutter Project 2025


Apakah kamu mau saya tambahkan versi ringkas untuk deskripsi meta SEO (biar postinganmu mudah muncul di Google)?

Komentar

Postingan populer dari blog ini

artikel mengenai pengembangan gim

MEMBUAT LAYOUT RESPONSIF DAN NAVIGASI APLIKASI

Membuat halaman Data Kelompok Belajar Zapp.run