Ticker

6/recent/ticker-posts

Header Ads Widget

CyberTech Banner

Template Proyek Aplikasi Sederhana: To-Do List App

Berikut ini adalah contoh template proyek aplikasi sederhana yang cocok untuk pemula. Proyek ini menggunakan Flutter, salah satu framework paling populer untuk membuat aplikasi Android & iOS sekaligus (cross-platform). Kamu bisa juga modifikasi ini untuk ide aplikasi lainnya.



📱 Template Proyek Aplikasi Sederhana: To-Do List App

🎯 Tujuan Proyek:

Membuat aplikasi daftar tugas sederhana (to-do list) yang memungkinkan pengguna:

  • Menambahkan tugas

  • Menandai tugas selesai

  • Menghapus tugas


🧱 Struktur Folder Proyek (Flutter)

todo_app/
│
├── lib/
│   ├── main.dart          # File utama
│   └── models/
│       └── todo.dart      # Model data To-Do
│
├── pubspec.yaml           # File konfigurasi dependency
└── android/, ios/, etc.   # Otomatis dari Flutter

📝 1. Model Data: todo.dart

class Todo {
  String title;
  bool isDone;

  Todo({
    required this.title,
    this.isDone = false,
  });

  void toggleDone() {
    isDone = !isDone;
  }
}

🧩 2. File Utama: main.dart

import 'package:flutter/material.dart';
import 'models/todo.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'To-Do List Sederhana',
      home: TodoPage(),
    );
  }
}

class TodoPage extends StatefulWidget {
  @override
  _TodoPageState createState() => _TodoPageState();
}

class _TodoPageState extends State<TodoPage> {
  final List<Todo> _todos = [];
  final TextEditingController _controller = TextEditingController();

  void _addTodo() {
    if (_controller.text.isNotEmpty) {
      setState(() {
        _todos.add(Todo(title: _controller.text));
        _controller.clear();
      });
    }
  }

  void _toggleDone(int index) {
    setState(() {
      _todos[index].toggleDone();
    });
  }

  void _deleteTodo(int index) {
    setState(() {
      _todos.removeAt(index);
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('To-Do List')),
      body: Column(
        children: [
          Padding(
            padding: const EdgeInsets.all(8.0),
            child: Row(
              children: [
                Expanded(
                  child: TextField(
                    controller: _controller,
                    decoration: InputDecoration(labelText: 'Tugas baru'),
                  ),
                ),
                IconButton(
                  icon: Icon(Icons.add),
                  onPressed: _addTodo,
                ),
              ],
            ),
          ),
          Expanded(
            child: ListView.builder(
              itemCount: _todos.length,
              itemBuilder: (context, index) {
                return ListTile(
                  title: Text(
                    _todos[index].title,
                    style: TextStyle(
                      decoration: _todos[index].isDone
                          ? TextDecoration.lineThrough
                          : null,
                    ),
                  ),
                  leading: Checkbox(
                    value: _todos[index].isDone,
                    onChanged: (_) => _toggleDone(index),
                  ),
                  trailing: IconButton(
                    icon: Icon(Icons.delete),
                    onPressed: () => _deleteTodo(index),
                  ),
                );
              },
            ),
          ),
        ],
      ),
    );
  }
}

📦 3. Tambahkan Dependency (pubspec.yaml)

Tidak butuh banyak package untuk aplikasi sederhana ini. Tapi kamu bisa tambahkan jika ingin:

dependencies:
  flutter:
    sdk: flutter

▶️ Cara Menjalankan

  1. Install Flutter SDK: flutter.dev/docs/get-started

  2. Buka terminal dan jalankan:

flutter create todo_app
cd todo_app
  1. Ganti main.dart dan tambahkan todo.dart sesuai di atas.

  2. Jalankan aplikasi:

flutter run

✅ Fitur Yang Bisa Ditambahkan:

  • Simpan data ke lokal (menggunakan shared_preferences)

  • Tambahkan tanggal deadline

  • Integrasi Firebase (jika mau cloud sync)

  • Ubah tema ke gelap/terang


🎯 Kesimpulan

Template ini adalah titik awal yang bagus buat kamu belajar membuat aplikasi sendiri. Cukup ringan, mudah dipahami, dan bisa dikembangkan ke fitur-fitur yang lebih kompleks.

Posting Komentar

0 Komentar