Membuat Tampilan CRUD daftar kontak

Nama: Apriarni Luan
Kelas: B informatika 





 Assalamu'allaikum warahamtullahi wabaraktu Kali ini kita akan membuat tampilan CRUD daftar kontak CRUD adalah serangkaian fungsionalitas mendasar yang biasanya digunakan dalam manajemen database.CRUD terdiri dari CREATE.READ.UPDATE.DELETE.fungsi tersebut merupakan dasar bagi sebagian besar aplikasi.Nah berikut ini kita akan membuat tampilan CRUD daftar kontak. 

 1.Buat sebuah file dengan New Flutter Project
2.Berikut ini isi dari main dart 
main.dart:
import 'package:aplikasi_kontak/home.dart';
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: HomePage(),
    );
  }
}

3.lalu isi dari home.dart
home.dart:
import 'package:flutter/material.dart';
import 'create.dart';
import 'update.dart';

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.blue,
        title: Text('Kontak'),
      ),
      body: Column(
        children: <Widget>[
          ListTile(
            title: Text('Nama Kontak 1'),
            subtitle: Text('Nomor Telepon 1'),
          ),
          ListTile(
            title: Text('Nama Kontak 2'),
            subtitle: Text('Nomor Telepon 2'),
          ),
          IconButton(
              onPressed: () {
                Navigator.push(context, MaterialPageRoute(builder: (builder) {
                  return UpdateDb();
                }));
              },
              icon: Icon(Icons.edit))
        ],
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.push(context, MaterialPageRoute(builder: (builder) {
            return CreateDb();
          }));
        },
        child: const Icon(Icons.add),
      ),
    );
  }
}

4.Berikut create.dart
create.dart:
import 'package:flutter/material.dart';

class CreateDb extends StatefulWidget {
  const CreateDb({super.key});

  @override
  State<CreateDb> createState() => _CreateDbState();
}

class _CreateDbState extends State<CreateDb> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Kontak Baru')),
      body: Padding(
        padding: const EdgeInsets.all(20),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            SizedBox(
              height: 30,
            ),
            Text('Nama'),
            TextField(),
            SizedBox(
              height: 30,
            ),
            Text('Nomor Telepon'),
            TextField(),
            SizedBox(
              height: 30,
            ),
            ElevatedButton(
              onPressed: () {},
              child: Text('Simpan'),
            )
          ],
        ),
      ),
    );
  }
}

5.Lalu update.dart
update.dart:
import 'package:flutter/material.dart';

class UpdateDb extends StatefulWidget {
  const UpdateDb({super.key});

  @override
  State<UpdateDb> createState() => _UpdateDbState();
}

class _UpdateDbState extends State<UpdateDb> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Edit Kontak')),
      body: Container(
        child: Padding(
          padding: const EdgeInsets.all(20),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              SizedBox(
                height: 30,
              ),
              Text('Nama'),
              TextField(),
              SizedBox(
                height: 30,
              ),
              Text('Nomor Telepon'),
              TextField(),
              SizedBox(
                height: 30,
              ),
              ElevatedButton(onPressed: () {}, child: Text('Simpan')),
              SizedBox(
                height: 20,
              ),
              ElevatedButton(
                onPressed: () {},
                child: Text('Hapus'),
                style: ButtonStyle(
                  backgroundColor: MaterialStateProperty.all(Colors.red),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
Berikut ini Hasilnya:



Komentar

Postingan populer dari blog ini

BELAJAR FLUTTER .Conditional Expression

Komunikasi Asertif

Konsep Diriku